//
// Created by ade on 2022/9/9.
//

#include <queue>
#include <vector>
#include <iostream>
#include <algorithm>
#include <numeric>

using namespace std;


int main() {
    // 基础用法
    vector<int> nums = {1, 8, 5, 6, 3, 4, 0, 9, 7, 2};
    // 默认用法
//    priority_queue<int> q; // 这种方式等于priority<int, vector<int>, less<int>> q;
//    int len = nums.size();
//    for (int i = 0; i < len; i++) {
//        q.push(nums[i]);
//    }

    // 基础用法
//    priority_queue<int, vector<int>, greater<int>> q1;
//    int len = nums.size();
//    for (int i = 0; i < len; i++) {
//        q1.push(nums[i]);
//    }
    priority_queue q2(nums.begin(), nums.end(), greater<int>());
    while (!q2.empty()) {
        cout << q2.top() << ",";
        q2.pop();
    }
    cout << endl;


    return 0;
}
